package com.whjfxx.terminal.api.param;

import com.whjfxx.terminal.utils.ValidateUtils;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.Pattern;

/**
 * Created by b.c on 2022/6/20 9:58
 */
@Data
public class ActiveParam {

    /**
     * 应用名称
     */
    @NotBlank(message = "应用名不能为空")
    @Length(max = 20, message = "应用名不能超过20")
    private String app_name;

    /**
     * 接口名称
     */
    @NotBlank(message = "接口名称不能为空")
    @Length(max = 12, message = "接口名称不能超过12")
    private String func_name;

    /**
     * 应用版本
     */
    @NotBlank(message = "应用版本不能为空")
    @Length(max = 10, message = "应用版本不能超过10")
    private String app_ver;

    /**
     * 接口（功能）版本
     */
    @NotBlank(message = "接口版本不能为空")
    @Length(max = 3, message = "接口版本不能超过3")
    private String version;

    /**
     * 序列号（sn）
     */
    @NotBlank(message = "序列号不能为空")
    @Length(max = 20, message = "序列号不能超过20")
    private String terminal_sn;

    /**
     * 设备型号
     */
    @NotBlank(message = "设备型号不能为空")
    @Length(max = 12, message = "设备型号不能超过12")
    private String terminal_type;

    /**
     * 设备位置信息
     */
    @Length(max = 64, message = "设备位置信息不能超过64")
    private String terminal_local;

    /**
     * 设备地址
     */
    @Length(max = 100, message = "设备地址不能超过100")
    private String terminal_address;

    /**
     * 商户号
     */
    @Length(max = 15, message = "商户号长度不能超过15")
    private String merchant_id;

    /**
     * 终端号
     */
    @Length(max = 8, message = "终端号长度不能超过8")
    private String terminal_id;

    /**
     * 激活请求时间 格式（yyyyMMddHHmmss)
     */
    @Length(max = 14, message = "激活请求时间格式错误")
    @Pattern(regexp = ValidateUtils.DATETIME_YYYYMMDDHHMMSS_PATTERN, message = "激活请求时间格式错误")
    private String req_time;

    /**
     * 签名
     */
    @NotBlank(message = "签名不能为空")
    @Length(max = 1024, message = "设备位置信息不能超过1024")
    private String key_sign;

}
